Sequence Editor
Use the Sequence Editor tab to build and edit sequences that you can run during a SOLIS simulation. SOLIS executes sequences as FlightJAS files that are either created by automatically converting *.seqs
to *.fj
or written directly with the Raw Sequence Editor.
Sequences are stored in the "seqs" directory of the satellite and use XML syntax.
Sequence Library
The left side of page contains the Sequence Library where you can select a sequence to edit. Under the Sequence Library there are five buttons to manipulate entire sequences:
Button | Description |
---|---|
Adds a new sequence. | |
Copies an existing sequence. | |
Deletes an existing sequence. | |
Renames a sequence | |
Saves the selected sequence. |
Modifying sequences
The right side of the Sequence Editor tab contains the sequence being edited. The upper half of this interface contains the functions for entry management; the lower half contains the details for management of the currently selected entry.
Button | Description |
---|---|
Moves an entry down one row in the list. | |
Moves an entry up one row in the list. | |
Inserts a new entry after the currently selected entry. | |
Copies the selected entry line(s) (Ctrl-C). | |
Pastes the selected entry line(s) (Ctrl-V). | |
Deletes the selected entry. |
When inserting a new entry, you can select the type of entry from the dropdown menu.
Sequence Type | Description |
---|---|
Spacecraft Command | This is for general spacecraft commands. |
Embed Sequence | This type of command translates to a specific spacecraft command to start another sequence. It also lets you manage complex nested sequences from the Sequence Editor tab. |
Raw Code | This is the raw code section for inserting block of FlightJAS commands within the Sequence Editor. It is useful when implementing commands that are not accessible in the Sequence Editor. |
Comment | This is a comment entry for documenting the flow of the sequences. |
Spacecraft commands
When you select Spacecraft Command in the Entry Display, the Spacecraft Command setup control dialog box appears. From here, you can filter and select spacecraft commands. When there are parameters for a selected mode, they appear in the window, and you can update their values.
MDC_SLEW_TRACK
, the slew time is the first argument. If the slew time entered is shorter than what the agility of the spacecraft can handle, the Flight Software will compute the optimal slew time and execute it. The resulting slew time then appears in the Output/Error tab of the Run Status Window.
Embed Sequences
Embedded sequences provide the functionality to nest sequences within one another. An embedded sequence can start at either a relative or absolute time. Embedded sequences can be executed in two different ways:
- In series:
- The sequence is called.
- The calling sequence is paused until after the called sequence completes.
- In parallel:
- The sequence is spawned.
- The spawning sequences continues running simultaneously as the spawned sequence.
Whether a sequence is called or spawned, it can be done so in a recursive manner, providing a simple looping construct.
Sequence Command Parameters
Parameter | Description | Units |
---|---|---|
Sequence Name | Selected sequence to start. | N/A |
Sequence Type | Either Series (Sequential Execution) or Parallel (Simultaneous Execution). | N/A |
Time Type | Either Absolute or Relative. | N/A |
Execution Delay/Time | Either absolute Date or Relative Time in number of seconds. | Date or s |
Times To Call | Number of times to loop call to sequence. | N/A |
Consider an example sequence with:
- Duration of 16 seconds
- Embedded in series
- Relative execution delay of 5 seconds
- Called four times
The total duration of this command would be (5 + 16) * 4 = 84
seconds before the calling sequence would continue. If this same setup were called in parallel, the spawning sequence would continue on the very next frame.
Raw Code
The Raw Code entry is used to add raw FlightJAS to a command sequence. This method enables some commands that are not available when using the Raw Sequence Editor.
Raw Code Sections
Section | Description |
---|---|
Variable Declarations | This section is where variables of the code are declared. The available types are: BOOLEAN, INT, REAL, DATE, and TIME. |
Code | This section is where FlightJAS code is written. |
Comment
The Comment entry is used to comment the sequence. It is useful to describe the intent of the other entries in the sequence.
Time Editor
The Time Editor gives you three ways of changing the time that a command executes in a sequence:
Option | Description |
---|---|
Time from Sequence Start | Enables you to adjust the absolute execution time of the command. In the event that the value entered would put it before the previous command, the time is ignored and resets to what it was before the editing took place. |
Time from Previous Start | Enter the time from the start of the previous command. |
Time From Previous End | Enter the time from the end of the previous command. The time from previous must always be nonnegative. If you enter a negative value, it will revert to the previous positive value. |
Changing any one of the time fields causes the other two to update automatically as you type.